面试题:线程与进程区别

您所在的位置:网站首页 线程与进程的区别和联系 面试题及答案详解视频 面试题:线程与进程区别

面试题:线程与进程区别

2024-07-07 05:06| 来源: 网络整理| 查看: 265

线程与进程

今天在牛客网上看面经,看到了这个题目。线程和进程在学习操作系统时,是必学的科目之一。但是往往第一眼看上去,都会有点懵。今天整理一篇短文章,来写一下线程和进程的区别。

根据我的理解,画了一幅图。

首先我们需要明白的是进程 > 线程 (虽然并不严谨,但是可以这样认为)

用一句专业术语来描述他们之间的区别:进程是CPU资源分配的最小单位,线程是CPU调度的最小单位

我在知乎上看到了一个匿名用户很好的比喻:

但是我们到底要怎么去跟面试官说清楚呢?

其实大家可以总结一下:

进程

一个进程就是CPU执行的单个任务的过程,是程序在执行过程当中CPU资源分配的最小单位,并且进程都有自己的地址空间,包含了运行态、就绪态、阻塞态、创建态、终止态五个状态。

线程

线程是CPU调度的最小单位,它可以和属于同一个进程的其他线程共享这个进程的全部资源

两者之间的关系

一个进程包含多个线程,一个线程只能在一个进程之中。每一个进程最少包含一个线程。

两者之间的区别

其实最根本的区别在刚开始就说了:进程是CPU资源分配的最小单位,线程是CPU调度的最小单位

进程之间的切换开销比较大,但是线程之间的切换开销比较小。

CPU会把资源分配给进程,但是线程几乎不拥有任何的系统资源。因为线程之间是共享同一个进程的,所以线程之间的通信几乎不需要系统的干扰。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3